package web.tcc.ifrn.janine.managedBeans;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import projeto.tcc.ifrn.central.janine.facades.EventoFacade;
import projeto.tcc.ifrn.central.janine.facades.UsuarioFacade;
import projeto.tcc.ifrn.central.janine.model.Evento;
import projeto.tcc.ifrn.central.janine.model.Usuario;

@SessionScoped
@ManagedBean
public class ContextoBean {

	@EJB
	private UsuarioFacade usuarioFacade;
	private Usuario usuarioLogado = null;
	@EJB
	private EventoFacade eventoFacade;
	private Evento eventoAtivo;

	public Evento getEvento() {
		return eventoAtivo;
	}

	public void setEvento(Evento eventoAtivo) {
		this.eventoAtivo = eventoAtivo;
	}

	public Usuario getUsuarioLogado() {
		FacesContext context = FacesContext.getCurrentInstance();
		ExternalContext externalContext = context.getExternalContext();
		String email = externalContext.getRemoteUser();
		if (this.usuarioLogado == null
				|| !email.equals(this.usuarioLogado.getEmail())) {
			if (email != null) {
				this.usuarioLogado = usuarioFacade.usuarioPorLogin(email);
			}
		}
		return usuarioLogado;
	}

	public void setUsuarioLogado(Usuario usuarioLogado) {
		this.usuarioLogado = usuarioLogado;
	}

}
